/**
* Oxide
*
* Copyright (c) 2011 Dinosaur Kick Pty Ltd, All rights reserved.
*
* This source code is made available under the "Modified BSD" licensing arrangement.
* See license.txt for details.
*/
// ----------------------------------------------------------------------------
#include "node.hpp"
// ----------------------------------------------------------------------------
#ifndef O2_AST_CLASS_DECL_INC
#define O2_AST_CLASS_DECL_INC
namespace o2 {
namespace ast {
// ----------------------------------------------------------------------------

O2_AST_CONCRETE_NODE_BEGIN(class_decl, node)

	bool has_member(const string_type& name) const
		{ return members.find(name) != members.end(); }

	string_list namespace_atoms;
	string_type name;
	bool is_abstract;
	bool is_final;
	string_type doc_block;
	class_member_map members;

O2_AST_CONCRETE_NODE_END(class_decl)

// ----------------------------------------------------------------------------
} // namespace ast
} // namespace o2
#endif // O2_AST_CLASS_DECL_INC
// ----------------------------------------------------------------------------
